using System;
using System.Collections.Generic;
using System.Text;

namespace Accountability4net
{
    /// <summary>
    /// Defines the actions that can be performed on an account
    /// <list type="table">
    ///     <listheader>
    ///         <term>AccountType</term>
    ///         <term>Debit</term>
    ///         <term>Credit</term>
    ///     </listheader>
    ///     <item>
    ///         <description><see cref="AccountType.ASSET" /></description>
    ///         <description>Increases</description>
    ///         <description>Decreases</description>
    ///     </item>
    ///     <item>
    ///         <description><see cref="AccountType.LIABILITY" /></description>
    ///         <description>Decreases</description>
    ///         <description>Increases</description>
    ///     </item>
    ///     <item>
    ///         <description><see cref="AccountType.INCOME" /></description>
    ///         <description>Decreases</description>
    ///         <description>Increases</description>
    ///     </item>
    ///     <item>
    ///         <description><see cref="AccountType.EXPENSE" /></description>
    ///         <description>Increases</description>
    ///         <description>Decreases</description>
    ///     </item>
    /// </list>
    /// </summary>
    /// <seealso cref="AccountType"/>
    public enum ActionType
    {
        /// <summary>
        /// Debit action. Debit will increase accounts of type <see cref="AccountType.ASSET" />
        /// and <see cref="AccountType.EXPENSE" /> and it will decrease 
        /// <see cref="AccountType.LIABILITY" /> and <see cref="AccountType.INCOME" />
        /// </summary>
        DEBIT,
        /// <summary>
        /// Credit action. Credit will increase accounts of type <see cref="AccountType.LIABILITY" />
        /// and <see cref="AccountType.INCOME" /> and it will decrease
        /// <see cref="AccountType.ASSET" /> and <see cref="AccountType.EXPENSE" />
        /// </summary>
        CREDIT
    }
}
